#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int gval = 100;

int main()
{
    printf("父进程开始运行，当前pid：%d\n", getpid());
    pid_t id = fork();
    if(id < 0)
    {
        perror("fork:");
        return 1;
    }
    else if(id == 0)
    {
        //child
        while(1)
        {
            sleep(1);
            printf("我是子进程，我的pid为: %d; 我的父进程为: %d\n", getpid(), getppid());
            printf("我是子进程，修改变量: gval -> %d\n", gval+10);
            gval += 10;
        }
    }
    else 
    {
        //father
         while(1)
         {
             sleep(1);
             printf("我是父进程，我的pid为: %d; 我的父进程为: %d\n", getpid(), getppid());
             printf("我是父进程，保持gval不变: %d\n", gval);
         }
    }

    //printf("创建了一个子进程\n");
    //printf("子进程的pid：%d\n", getpid());
   // while(1)
   // {
   //     sleep(1);
   //     printf("我是一个进程，我的pid为: %d; 我的父进程为: %d\n", getpid(), getppid());
   // }

    return 0;
}

